<html id=html_xixcp style="font:8pt 'MS Shell Dlg', 'MS Sans serif',sans-serif;width:334px;height:402px"><head><meta http-equiv=Content-Type Content='text-html; charset=utf-8'><meta http-equiv=MSThemeCompatible Content=Yes>
<hta:application id=hta_xixcp applicationName=appName_xixcp
icon=mspaint.exe maximizeButton=no border=thin innerBorder=no
scroll=no selection=no contextMenu=no singleinstance=yes version=0.4
/>
<title>Цветочник 0.4</title>

<script language=JavaScript>

//  Цветочник 0.4
//  Copyright (c) 2002 by Fc-xix <http://xix.by.ru/utilities/cp/>, GNU Lesser General Public License
//
// Адаптировал HTA приложение для SciTE: mozers™
// Версия: 0.4
// -----------------------------------------------------------------------
// Скрипт вызывает приложение "Цветочник" для выбора цвета из нескольких доступных палитр
// (Безопасные/Названные/Системные цвета)
// Результат выбора заменяет выделенное в редакторе значение цвета
// Внимание! Для работы требуется установка SciTE Helper
// <http://scite.ruteam.ru/poleznye-utility/scite-helper-dlya-upravleniya-redaktorom-iz-skriptov-i-programm> [5kB]

// Для подключения добавьте в свой файл .properties следующие строки:
//  command.name.7.*=Цветочник
//  command.7.*="$(SciteDefaultHome)\tools\pallete.hta" $(CurrentSelection)
//  command.mode.7.*=subsystem:shellexec,replaceselection:auto,savebefore:no,quiet:yes
// -----------------------------------------------------------------------

document.oncontextmenu = function(){return false;};

		// <# перехват ошибки />
function catchError(m,u,l)
{
	var tmp = [];
	var i = 0;
	tmp[++i] = "В программе произошла ошибка #"+l;
	tmp[++i] = "Причина: "+m;
	tmp[++i] = "\nПрошу уведомить автора написав письмо на адрес eugenedest@yandex.ru. Письмо должно содержать: причину и номер возникшей ошибки, полное название вашей операционной системы и версию Internet Explorer\'a.";
	tmp[++i] = '\nДля закрытия программы кликните по кнопке \"OK\".';
	alert(tmp.join("\n"));
	window.close(true);
	return true;
}
window.onerror = catchError;

var isFNamed = isFWebSave = isFSystem = isFRGBnWCD = isFAbout = true;
var defaultTitle = document.title;
var prevDiv = 'about';

		// <# задать размеры окна и поместить его в центр экрана />
function setPnD(){
var wW=334;
var wH=380;
var wPX=screen.width/2-wW/2;
var wPY=screen.height/2-wH/2;
window.resizeTo(wW, wH);
window.moveTo(wPX, wPY);
}
void(setPnD());

		// <# создать/показать "названную" палитру />
function showNamed(){
if(isFNamed)
{
	var a1 = ('aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflower|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dodgerblue|firebrick|floralwhite|forestgreen|fuchia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen').split('|');
	var a2 = ('F0F8FF|FAEBD7|00FFFF|7FFFD4|F0FFFF|F5F5DC|FFE4C4|000000|FFEBCD|0000FF|8A2BE2|A52A2A|DEB887|5F9EA0|7FFF00|D2691E|FF7F50|6495ED|FFF8DC|DC143C|00FFFF|00008B|008B8B|B8860B|A9A9A9|006400|BDB76B|8B008B|556B2F|FF8C00|9932CC|8B0000|E9967A|8FBC8B|483D8B|2F4F4F|00CED1|9400D3|FF1493|00BFFF|696969|1E90FF|B22222|FFFAF0|228B22|FF00FF|DCDCDC|F8F8FF|FFD700|DAA520|808080|008000|ADFF2F|F0FFF0|FF69B4|CD5C5C|4B0082|FFFFF0|F0E68C|E6E6FA|FFF0F5|7CFC00|FFFACD|ADD8E6|F08080|E0FFFF|FAFAD2|90EE90|D3D3D3|FFB6C1|FFA07A|20B2AA|87CEFA|778899|B0C4DE|FFFFE0|00FF00|32CD32|FAF0E6|FF00FF|800000|66CDAA|0000CD|BA55D3|9370DB|3CB371|7B68EE|00FA9A|48D1CC|C71585|191970|F5FFFA|FFE4E1|FFE4B5|FFDEAD|000080|FDF5E6|808000|6B8E23|FFA500|FF4500|DA70D6|EEE8AA|98FB98|AFEEEE|DB7093|FFEFD5|FFDAB9|CD853F|FFC0CB|DDA0DD|B0E0E6|800080|FF0000|BC8F8F|4169E1|8B4513|FA8072|F4A460|2E8B57|FFF5EE|A0522D|C0C0C0|87CEEB|6A5ACD|708090|FFFAFA|00FF7F|4682B4|D2B48C|008080|D8BFD8|FF6347|40E0D0|EE82EE|F5DEB3|FFFFFF|F5F5F5|FFFF00|9ACD32').split('|');
	var a3 = ('бледно-голубой|старо-белый|ярко-голубой|аквамариновый|лазурный|бежевый||черный|светло-миндальный|синий|фиолетово-синий|коричневый|легкий желтый|серо-синий|зеленовато-желтый|шоколадный|коралловый|васильковый|шелковый оттенок|темно-красный|зеленовато-голубой|темно-синий|темный циан|темный золотисто-березовый|темно-серый|темно-зеленый|темный хаки|темный фуксин|темный оливково-зеленый|темно-оранжевый|темная орхидея|темно-красный|темный оранжево-розовый|темная морская волна|темный грифельно-синий|темный синевато-серый|темно-бирюзовый|темно-фиолетовый|глубокий розовый|глубокий небесно-голубой|тускло-серый|ядовито-голубой|кирпичный|кремовый|зеленый лесной|(magenta) фуксин|светло-серебрянный|призрачно-белый|золотой|золотисто-березовый|серый|зеленый|зелено-желтый|медовая роса|ярко-розовый|красное дерево|темно-пурпурный|слоновая кость|хаки|бледно-лиловый|лилово-красный|зеленая лужайка|лимонный|светло-голубой|коралловый светлый|циан светлый|светлый золотисто-желтый|светло-зеленый|светло-серый|светло-розовый|светлый оранжево-розовый|светлая морская волна|светлое небо|светлый грифельно-серый|светлый синевато-стальной|светло-желтый|ядовито-зеленый|лимонно-зеленый|полотняный|фуксин|темно-красный|нейтрально-аквамариновый|нейтрально-синий|светло-пурпурный|нейтрально-пурпурный|нейтрально-морской|нейтрально-грифельно-синий|весенний нейтрально-зеленый|нейтрально-бирюзовый|нейтрально-фиолетово-красный|полуночно-синий|ментоловый крем|туманно-розовый|песочный|белый-навахо|темно-синий|старый шнурок|оливковый|оливково-зеленый|оранжевый|оранжево-красный|пурпурный|бледно-золотисто-березовый|бледно-зеленый|бледно-бирюзовый|бледно-фиолетово-красный|хлыст папая|персиковый|светло-шоколадный|розовый|фиолетовый|голубой порошек|пурпурный|красный|мутно-коричневатый|голубой королевский|ярко-коричневый|оранжево-розовый|песчано-коричневый|зеленовато-морской|ракушка|охра|серебрянный|небесно-синий|грифельно-синий|грифельно-серый|белоснежный|зеленый весенний|синий стальной|загарелая кожа|чирок|чертополох|томатный|бирюзовый|фиолетовый|пшеничный|белый|дымчато-белый|желтый|желто-зеленый').split('|');
	write2Div(a1,a2,a3,'named');
	isFNamed = false;
}
replaceAll(prevDiv,'named','Названные цвета');
}

		// <# создать/показать "безопасную" палитру />
function showWebSave(){
if(isFWebSave)
{
	var a1 = ('black|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||white').split('|');
	var a2 = ('000000|330000|660000|990000|CC0000|FF0000|000033|330033|660033|990033|CC0033|FF0033|000066|330066|660066|990066|CC0066|FF0066|003300|333300|663300|993300|CC3300|FF3300|003333|333333|663333|993333|CC3333|FF3333|003366|333366|663366|993366|CC3366|FF3366|006600|336600|666600|996600|CC6600|FF6600|006633|336633|666633|996633|CC6633|FF6633|006666|336666|666666|996666|CC6666|FF6666|009900|339900|669900|999900|CC9900|FF9900|009933|339933|669933|999933|CC9933|FF9933|009966|339966|669966|999966|CC9966|FF9966|00CC00|33CC00|66CC00|99CC00|CCCC00|FFCC00|00CC33|33CC33|66CC33|99CC33|CCCC33|FFCC33|00CC66|33CC66|66CC66|99CC66|CCCC66|FFCC66|00FF00|33FF00|66FF00|99FF00|CCFF00|FFFF00|00FF33|33FF33|66FF33|99FF33|CCFF33|FFFF33|00FF66|33FF66|66FF66|99FF66|CCFF66|FFFF66|000099|330099|660099|990099|CC0099|FF0099|0000CC|3300CC|6600CC|9900CC|CC00CC|FF00CC|0000FF|3300FF|6600FF|9900FF|CC00FF|FF00FF|003399|333399|663399|993399|CC3399|FF3399|0033CC|3333CC|6633CC|9933CC|CC33CC|FF33CC|0033FF|3333FF|6633FF|9933FF|CC33FF|FF33FF|006699|336699|666699|996699|CC6699|FF6699|0066CC|3366CC|6666CC|9966CC|CC66CC|FF66CC|0066FF|3366FF|6666FF|9966FF|CC66FF|FF66FF|009999|339999|669999|999999|CC9999|FF9999|0099CC|3399CC|6699CC|9999CC|CC99CC|FF99CC|0099FF|3399FF|6699FF|9999FF|CC99FF|FF99FF|00CC99|33CC99|66CC99|99CC99|CCCC99|FFCC99|00CCCC|33CCCC|66CCCC|99CCCC|CCCCCC|FFCCCC|00CCFF|33CCFF|66CCFF|99CCFF|CCCCFF|FFCCFF|00FF99|33FF99|66FF99|99FF99|CCFF99|FFFF99|00FFCC|33FFCC|66FFCC|99FFCC|CCFFCC|FFFFCC|00FFFF|33FFFF|66FFFF|99FFFF|CCFFFF|FFFFFF').split('|');
	var a3 = ('черный|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||белый').split('|');
	write2Div(a1,a2,a3,'websave');
	isFWebSave = false;
}
replaceAll(prevDiv,'websave','Безопасные цвета');
}

		// <# создать/показать "системную" палитру />
function showSystem(){
if(isFSystem)
{
	var a1 = a2 = ('activeborder|activecaption|appworkspace|background|buttonface|buttonhighlight|buttonshadow|buttontext|captiontext|graytext|highlight|highlighttext|inactiveborder|inactivecaption|inactivecaptiontext|infobackground|infotext|menu|menutext|scrollbar|threeddarkshadow|threedface|threedhighlight|threedlightshadow|threedshadow|window|windowframe|windowtext').split('|');
	var a3 = ('граница активного окна|фон заголовка активного окна|рабочая область приложения|рабочий стол|фон кнопки|светлая сторона кнопки|темная сторона кнопки|текст кнопки|текст заголовка активного окна|текст недоступного объекта|фон выделенного участка|текст выделенного участка|граница неактивного окна|фон заголовка неактивного окна|текст заголовка неактивного окна|фон всплывающей подсказки|текст всплывающей подсказки|фон строки меню|текст строки меню|скроллинг|темная тень рельефного объекта|фон рельефного объекта|светлая сторона рельефного объекта|светлая тень рельефного объекта|тень рельефного объекта|фон окна|фрейм окна|текст окна').split('|');
	write2Div(a1,a2,a3,'system');
	isFSystem = false;
}
replaceAll(prevDiv,'system','Системные цвета');
}

		// <# заполнить соответствующий слой цветами (тюльпаны, розы, кактусы...) />
function write2Div(a1,a2,a3,dId){
var s = [];
for(var i=0;i<a3.length;i++)
	s[i] = "<span aname='"+a1[i]+"' style='background:"+a2[i]+";' arus='"+a3[i]+"' class='op"+dId+"_s'></span>";
document.getElementById("div_"+dId).innerHTML = s.join("\n");
// <#old eval("div_"+dId).innerHTML = s.join("\n"); />
}

		// <# показать инфу о программе и авторе />
function showAbout(){
replaceAll(prevDiv,'about','О программе');
}

		// <# cпрятать предыдущий и показать выбранный слои />
function replaceAll(div2hide,div2show,docTitle){
document.title = defaultTitle +' - '+ docTitle;
document.getElementById("div_"+div2hide).style.display = 'none';
document.getElementById("div_"+div2show).style.display = 'block';
prevDiv = div2show;
}

		// <# RGBencoder v0.1 />
function encodeRGB($t,z){
var r=g=b=0;
var h=[0,1,2,3,4,5,6,7,8,9];h['A']=10;h['B']=11;h['C']=12;h['D']=13;h['E']=14;h['F']=15;
if(z == 'hex2rgb' || z == 'hex2win')
{
	r = parseInt(h[$t.substr(1,1)])*16+parseInt(h[$t.substr(2,1)]);
	g = parseInt(h[$t.substr(3,1)])*16+parseInt(h[$t.substr(4,1)]);
	b = parseInt(h[$t.substr(5,1)])*16+parseInt(h[$t.substr(6,1)]);
}
if(z == 'hex2rgb')
	return(r+','+g+','+b);
if(z == 'hex2win')
	return(r+(g*256)+(b*65536));
}

		// <# CTR />
function onMDown(){
var e = event.srcElement;
var tmp = '';
if(e.tagName.toUpperCase() == 'SPAN')
{		// <# определить и показать цвет />
	if(e.className.toUpperCase() == 'OPSYSTEM_S')
	{ // автоматически преобразовать в #RRGGBB
		ifr_null.document.body.bgColor = e.style.background;
		tmp = ifr_null.document.bgColor;
	}
	else
		tmp = e.style.background;
	td_cDemo.style.background = in_cWeb.value = tmp.toUpperCase();
	a_cDemo.innerText = e.arus;
	in_cName.value = e.aname;
	in_cRGB.value = encodeRGB(tmp.toUpperCase(),'hex2rgb');
	in_cWin.value = encodeRGB(tmp.toUpperCase(),'hex2win');
	return;
}
if(e.tagName.toUpperCase() == "BUTTON")
{		// <# Получаем выбранное значение цвета />
	tmp = e.id;
	tmp = tmp.replace(/but_/i,'in_')
	document.getElementById('result').value = document.getElementById(tmp).value;
	ReturnSelectColor();
	return;
}
return;
}
document.onmousedown = onMDown;

		// <# нет рефреша по F5, а по ESC-пу выход />
function onKDown(){
if(event.keyCode==116) // F5
{
	event.cancelBubble=true;
	event.returnValue=false;
	return(false);
}
if(event.keyCode==27) // Esc
	window.close(true);
	return;
}
document.onkeydown = onKDown;

</script>

<style type=text/css>
body,td{color:buttontext;background:threedface;font:8pt 'MS Shell Dlg', 'MS Sans serif',sans-serif;margin:0;border:none}
div{color:buttontext;background:threedface;font:8pt 'MS Shell Dlg', 'MS Sans serif',sans-serif}
span{margin:1px;border:1px solid buttontext;cursor:hand}
div.cont{width:310px;height:210px;border:2px inset;display:none;text-align:center}
fieldset{padding:4px;margin:2px}
#colSelector{width:150px;font:8pt 'MS Shell Dlg', 'MS Sans serif',sans-serif;margin-bottom:4px}
#td_cDemo{width:90%;border:1px solid buttontext;text-align:center}
#td_cInput{width:90%;border:1px solid buttontext;text-align:center}
#a_cDemo{background:menutext;color:menu;text-decoration:none}
#a_cInput{background:menutext;color:menu;text-decoration:none}
input{width:110px;font:8pt 'MS Shell Dlg', 'MS Sans serif',sans-serif;border:none;border-bottom:1px solid buttontext;background:threedface}
button{width:30px;font:8pt 'MS Shell Dlg', 'MS Sans serif',sans-serif}
.opnamed_s{width:19px;height:18px}
.opwebsave_s{width:15px;height:12px}
.opsystem_s{width:41px;height:48px}
a{font-weight:bold; color:#5050F0; text-decoration:none;}
a:hover{color:#FF4500;}
</style>
</head>

<body onLoad=showWebSave() scroll=no>

<fieldset id=fld_body>
	<legend id=lg_selector>
	<select id=colSelector onChange='eval("show"+this.value+"()")'>
	<option value=WebSave selected>&raquo; Безопасные цвета
	<option value=Named>&raquo; Названные цвета
	<option value=System>&raquo; Системные цвета
	<option value=About style="BACKGROUND:#CCFFFF; color:#009900;">&nbsp;&nbsp;&nbsp;О программе:</select>
	</legend>
<div id=div_websave class=cont></div>

<div id=div_named class=cont></div>
<div id=div_system class=cont></div>
<div id=div_about class=cont><table width=100% cellpadding=3><tr><td>Название:</td><td width=100%><b>Цветочник</b></td></tr>
	<tr><td>Версия:</td><td width=100%><b>0.4</b></td></tr>
	<tr><td>Лицензия:</td><td width=100%><b>бесплатно, согласно <a href=http://www.gnu.org/copyleft/lesser.html title="GNU Lesser General Public License">GNU&nbsp;LGPL</a></b></td></tr>
	<tr><td>Сайт:</td><td width=100%><a title="Скачайте самую свежую версию." href=http://xix.by.ru/utilities/cp/><b>http://xix.by.ru/utilities/cp/</b></a></td></tr>
	<tr><td>Форумы:</td><td width=100%><a title="Задавайте вопросы. Обсуждайте." href=http://xix.by.ru/forums/><b>http://xix.by.ru/forums/</b></a></td></tr>
	<tr><td>Автор:</td><td width=100%><b>Fc-xix</b></td></tr>
	<tr><td>Эл. почта:</td><td width=100%><a title="Пишите письма." href="mailto:eugenedest@yandex.ru?Subject=Цветочник_v04"><b>eugenedest@yandex.ru</b></a></td></tr>
		<tr><td colspan=2></td></tr>
		<tr><td>Адаптировал для SciTE:</td><td width=100% valign=top><a title="Пишите письма" href="mailto:mozers@mail.ru?Subject=Цветочник_v04"><b>mozers&trade;</b></a>&nbsp;&nbsp;&nbsp;<a title="Русский сайт SciTE" href=http://scite-ru.org/><b>scite-ru.org</b></a></td></tr>
</table></div>
</fieldset>

<fieldset id=fld_cellar><table width=100% cellpadding=1 cellspacing=0>
<tr height=100%><td rowspan=4 width=100%><table width=100% height=100% cellpadding=0 cellspacing=1>
<tr height=40%><td title="Исходный цвет" id=td_cInput><a reserved id=a_cInput>исходный цвет</a></td></tr>
<tr height=60%><td title="Выбранный цвет" id=td_cDemo><a reserved id=a_cDemo></a><input type=hidden id=result></td></tr>
</table></td>
<td>&nbsp;имя:</td><td><input class=in_copy id=in_cName readonly tabindex=-1>&nbsp;<button title="Вставить" id=but_cName>»</button></td></tr>
<tr><td>&nbsp;веб:</td><td><input class=in_copy id=in_cWeb readonly tabindex=-1>&nbsp;<button title="Вставить" id=but_cWeb>»</button></td></tr>
<tr><td>&nbsp;rgb:</td><td><input class=in_copy id=in_cRGB readonly tabindex=-1>&nbsp;<button title="Вставить" id=but_cRGB>»</button></td></tr>
<tr><td>&nbsp;win:</td><td><input class=in_copy id=in_cWin readonly tabindex=-1>&nbsp;<button title="Вставить" id=but_cWin>»</button></td></tr>
</table></fieldset>

<iframe name=ifr_null style=display:none></iframe>

<script language=JavaScript>
	var defColor = "#FFFFFF";

	// Читаем аргументы ком.строки
	var cmd = hta_xixcp.commandLine.replace(/".*?" (.*)/g, "$1");
	var strInput = defColor;
	if (cmd !== "") {strInput = cmd;}

	// Ищем, есть ли параметры цвета в считанном тексте
	var regEx = /#?[0-9|A-F]{6}/i;
	var FindColors = regEx.exec(strInput);
	if (FindColors) {
		document.getElementById('td_cInput').style.background = FindColors[0];
	} else {
		strInput = defColor;
		document.getElementById('td_cInput').style.background = defColor;
	}

	function ReturnSelectColor(){
		var resultColor = document.getElementById('result').value;
		if (resultColor !== "") {
			if (!/^#/.test(strInput)) {resultColor = resultColor.replace(/^#/, '');}
			var strOut = strInput.replace(regEx, resultColor);
			// ----------------------------------------------------
			try {
				var SciTE= new ActiveXObject('SciTE.Helper');
				var err_code = SciTE.ReplaceSel(strOut);
			} catch(e) {
				alert('Установите SciTE.Helper!\nБез него вставка невозможна.');
			}
			// ----------------------------------------------------
		}
		close();
	}
</script>
</body></html>
